package com.hncj.yqfk.service;

import com.hncj.yqfk.utils.JsonResult;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.Map;

@Service
public interface RygjService {

    /**
     * 查询当天目前楼宇停留人数排名前十的楼宇
     */
    JsonResult GetRank();

    /**
     * 计算当前楼宇的容纳度
     * @param LYMC 楼宇名称
     * @return 当前楼宇容纳度
     */
    Double GetRndByMc(String LYMC);

    /**
     * 计算当前楼宇小时的人流量
     * @param LYMC 楼宇名称
     */
    Integer GetHourRndByMc(String LYMC);

    /**
     *计算当前大门小时的人流量（学生）
     */
    Integer GetHourRndByDa(String LYMC);

    /**
     * 计算当前大门小时的人流量（教职工）
     */
    Integer GetHourRndByDaLs(String LYMC);

    /**
     * 根据日期和楼宇编号查询以及人员类型查询每小时的人流情况并处理数据
     */
    JsonResult GetInfoByBhAndDayAndType(String lymc, String stime, String etime, String stype);

    /**
     * 根据日期和人员类型查询所有全校楼宇人流量
     */
    JsonResult GetSchoolRndByDayAndType(String stime, String etime, String stype);

    /**
     * 人员轨迹
     */
    Map<String, Object> GetByDayAndUsername(String USERNAME, String stime, String etime);

    /**
     * 根据人员类型查询特定时间段，特定大门的人流量
     * @param lymc
     * @param stime
     * @param etime
     * @param stype 2，老师，1，学生，0，全部人员（老师加学生）
     * @return
     */
    JsonResult GetInfoByNaDaTy(String lymc, String stime, String etime, String stype);

    /**
     * 获取所有的楼宇名称和楼宇编号
     */
    JsonResult GetAllMcBh();

    /**
     * 根据场所ID获取楼宇名和经纬度
     */
    Map<String, HashMap> GetAllByMC(String LYMC);
}
